﻿#include "paramtableview.h"
#include "ui_paramtableview.h"
#include <QStandardItemModel>

ParamTableView::ParamTableView(int rowNum, int colNum,QWidget *parent) :
    QWidget(parent),
    ui(new Ui::ParamTableView),
    m_rowNum(rowNum),
    m_colNum(colNum),
    m_model(new QStandardItemModel)
{
    ui->setupUi(this);

    ui->tableView->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents);
    ui->tableView->verticalHeader()->setSectionResizeMode(QHeaderView::Fixed);
    ui->tableView->horizontalHeader()->setMinimumSectionSize(100);

    ui->tableView->horizontalHeader()->setVisible(false);   //显示或隐藏表头
    ui->tableView->verticalHeader()->setVisible(false); //显示或隐藏序列行
    ui->tableView->setAutoScroll(true); //自动滚动条
    ui->tableView->resizeColumnsToContents(); //根据内容调整大小
    ui->tableView->resizeRowsToContents();
    ui->tableView->setEditTriggers(QAbstractItemView::NoEditTriggers);  //只读
    ui->tableView->setSelectionBehavior(QAbstractItemView::SelectItems);
    ui->tableView->setSelectionMode( QAbstractItemView::SingleSelection);

    m_model->setRowCount(m_rowNum);
    m_model->setColumnCount(m_colNum);
//    m_model->setHeaderData(0,Qt::Horizontal, QStringLiteral("参数组0"));
//    m_model->setHeaderData(1,Qt::Horizontal, QStringLiteral("值"));

    ui->tableView->setModel(m_model);
}

ParamTableView::~ParamTableView()
{
    delete ui;
}

void ParamTableView::setData(int rowIndex, int colIndex, QString value)
{
    m_model->setData(m_model->index(rowIndex, colIndex), value);
}

void ParamTableView::setData(int rowIndex, int colIndex, int value)
{
    m_model->setData(m_model->index(rowIndex, colIndex), value);
}

void ParamTableView::setData(int rowIndex, int colIndex, double value)
{
    m_model->setData(m_model->index(rowIndex, colIndex), value);
}

void ParamTableView::setData(int rowIndex, int colIndex, QStandardItem *item)
{
    m_model->setItem(rowIndex, colIndex, item);
}
